#实例方法、类方法、静态方法

#举例
class Test(object):
    def instancefun(self):   #实例方法
        print('这是instancefun')

    @classmethod             #类方法
    def classfun(cls):
        print('这是classfun')

    @staticmethod            #静态方法
    def staticfun():
        print('这是staticfun')

    def function():          #普通函数，无参数
        print('这是func')

t = Test()          #实例化对象t
#调用实例方法
t.instancefun()     #实例对象可以访问实例方法
Test.instancefun(t) #类方法instancefun把t作为参数传入给self
Test.instancefun(Test)
print('\n')

#调用类方法
t.classfun()    #classfun--实例对象可以访问类方法
Test.classfun() #classfun--类对象可以访问类方法
print('\n')

#调用静态方法
t.staticfun()   #staticfun--实例对象可以访问静态方法
Test.staticfun()#staticfun--类对象可以访问静态方法
print('\n')

#调用函数
#t.function()   #对象不能直接调用函数
Test.function() #func--类对象可以访问普通函数
